Combined Determination of Sharing and Freeness of Program Variables through Abstract Interpretation
نویسندگان
چکیده
In this paper, abstract interpretation algorithms are described for computing the sharmg as well as the freeness information about the run-time instantiations of program variables. An abstract domain is proposed which accurately and concisely represents combined freeness and sharing information for program variables. Abstract unification and all other domain-specific functions for an abstract interpreter working on this domain are presented. These functions are illustrated with an example. The importance of inferring freeness is stressed by showing (1) the central role it plays in non-strict goal independence, and (2) the improved accuracy it brings to the analysis of sharing information when both are computed together. Conversely, it is shown that keeping accurate track of sharing allows more precise inference of freeness, thus resulting in an overall much more powerful abstract interpreter.
منابع مشابه
Effectiveness of Combined Sharing and Freeness Analysis using Abstract Interpretat ion
This paper presents improved unification algorithms, an implementation, and an analysis of the effectiveness of an abstract interpreter based on the sharing + freeness domain presented in a previous paper, which was designed to accurately and concisely represent combined freeness and sharing information for program variables. We first briefly review this domain and the unification algorithms pr...
متن کاملNon-strict independence-based program parallelization using sharing and freeness information
The current ubiquity of multi-core processors has brought renewed interest in program parallelization. Logic programs allow studying the parallelization of programs with complex, dynamic data structures with (declarative) pointers in a comparatively simple semantic setting. In this context, automatic parallelizers which exploit and-parallelism rely on notions of independence in order to ensure ...
متن کاملAn Abstract Interpretation Scheme for Groundedness, Freeness, and Sharing Analysis of Logic Programs
Static global analyses based on abstract interpretation have been used to derive properties of programs. The analyses differ in the expressiveness of the abstract domains and the precision and efficiency of domain operations. We extend an abstract domain defined by Jacobs and Langen and present new abstract domain operations to derive freeness, groundness, and sharing of variables in logic prog...
متن کاملA Freeness and Sharing Analysis of Logic Programs Based on a Pre-interpretation
y Abstract. Recently, a technique was presented for using pre-interpretations for abstract interpretation of the correct answer set CP of a logic program P. So far it was an open problem whether pre-interpretations could also be used for deriving non-downward closed properties of the computed answer set OP such as deenite freeness. This paper shows that it is possible to do so.
متن کاملFreeness Analysis in the Presence of Numerical Constraints
This paper describes a novel application of abstract interpretation dealing with mixed systems of numerical and unification constraints. In general, the abstraction of such systems cannot be separated into two independent parts, since a program variable is often involved in both types of constraints. The proposed abstraction deals in an elegant way with the interaction between the two types of ...
متن کامل